home *** CD-ROM | disk | FTP | other *** search
- 1000 ' SAVE "INC_WP.BAS",A:SAVE "INC_WP.BAK",A
- 1010 ' 手書きワープロ
- 1020 ' 1995.8.12(Sat)
- 1030 ' (C) by Kota2 of BigCabin
- 1040 ' === Main routine ===
- 1050 GOSUB *ALL_INITIALIZE
- 1060 WHILE MAIN_LOOP=0
- 1070 GOSUB *RESTART
- 1080 GOSUB *MOJI
- 1090 GOSUB *LOOP_CHECK
- 1100 IF MAIN_LOOP=0 THEN GOSUB *LITTLE
- 1110 WEND
- 1120 GOSUB *END
- 1130 END
- 1140 ' --- 全初期化 ---
- 1150 *ALL_INITIALIZE
- 1160 X_MAX=640
- 1170 Y_MAX=480
- 1180 DOT=20:' 変換後の文字の大きさ(ここをかえると・・・)
- 1190 SCREEN@ 0
- 1200 CLS
- 1210 LOAD@ "INC_WP.TIF"
- 1220 WAIT 300
- 1230 CLS
- 1240 MOUSE 0
- 1250 MOUSE 1,,,1
- 1260 MOUSE 4,0,Y_MAX/2,X_MAX-1,Y_MAX-1
- 1270 PRINT
- 1280 PRINT
- 1290 PRINT
- 1300 PRINT " === 使い方 ==="
- 1310 PRINT
- 1320 PRINT
- 1330 PRINT " マウスを使って、操作します。"
- 1340 PRINT
- 1350 PRINT " 画面の下半分に、マウスの左ボタンを押しながら、"
- 1360 PRINT " 文字を書きます。大きさは、自由です。"
- 1370 PRINT " 何文字か書けたら、右ボタンを押します。"
- 1380 PRINT
- 1390 PRINT " すると、書いた文字が上に縮小されます。"
- 1400 PRINT " この調子で、書きたいだけ書いてください。"
- 1410 PRINT " 何も書いてない時に、右ボタンを押すと、終了です。"
- 1420 PRINT
- 1430 PRINT
- 1440 PRINT " マウスの左ボタンを押すと始まります。"
- 1450 PRINT
- 1460 PRINT
- 1470 PRINT " (C) by (BigCabinの)こたつ"
- 1480 WHILE MOUSE(2,0)<>-1:WEND
- 1490 WAIT 70
- 1500 CLS
- 1510 FOR I=DOT+4 TO Y_MAX/2-1 STEP DOT+4
- 1520 LINE (10,I)-(X_MAX-10,I),PSET
- 1530 NEXT I
- 1540 RETURN
- 1550 ' --- 2次初期化 ---
- 1560 *RESTART
- 1570 UP = 999
- 1580 DOWN =-999
- 1590 LEFT = 999
- 1600 RIGHT=-999
- 1610 LINE (0,Y_MAX/2)-(X_MAX,Y_MAX),PSET,0,BF
- 1620 MOUSE_XX=MOUSE(0)
- 1630 MOUSE_YY=MOUSE(1)
- 1640 RETURN
- 1650 ' --- 文字書き ---
- 1660 *MOJI
- 1670 MOJI=0
- 1680 WHILE MOJI=0
- 1690 MOUSE_X=MOUSE(0)
- 1700 MOUSE_Y=MOUSE(1)
- 1710 ' PRINT MOUSE_X,MOUSE_Y
- 1720 IF MOUSE(2,0) THEN GOSUB *LIMIT: LINE(MOUSE_X,MOUSE_Y)-(MOUSE_XX,MOUSE_YY),PSET
- 1730 IF MOUSE(2,1) THEN MOJI=-1
- 1740 MOUSE_XX=MOUSE_X
- 1750 MOUSE_YY=MOUSE_Y
- 1760 WEND
- 1770 RETURN
- 1780 ' --- 縮小 ---
- 1790 *LITTLE
- 1800 ' PRINT UP,DOWN,LEFT,RIGHT
- 1810 ' LINE (LEFT-1,UP-1)-(RIGHT+1,DOWN+1),PSET,,B
- 1820 HI=(RIGHT-LEFT)/(DOWN-UP):' 縦に対する横の比
- 1830 RITU=(DOWN-UP)/DOT :' 16ドットに対する倍率
- 1840 IF X_MAX-LINE_X-10<DOT*HI THEN LINE_X=0:LINE_Y=LINE_Y+DOT+4
- 1850 FOR Y=0 TO DOT
- 1860 FOR X=0 TO DOT*HI
- 1870 ' PSET(X,Y),3
- 1880 ' PSET(X*RITU+LEFT,Y*RITU+UP),5
- 1890 GOSUB *TEN
- 1900 IF TEN<>0 THEN PSET(X+10+LINE_X,Y+2+LINE_Y)
- 1910 NEXT X
- 1920 NEXT Y
- 1930 LINE_X=LINE_X+DOT*HI+2
- 1940 RETURN
- 1950 ' --- 終了 ---
- 1960 *END
- 1970 MOUSE 5
- 1980 END
- 1990 ' --- 範囲更新 ---
- 2000 *LIMIT
- 2010 IF UP >MOUSE_Y THEN UP =MOUSE_Y
- 2020 IF DOWN <MOUSE_Y THEN DOWN =MOUSE_Y
- 2030 IF LEFT >MOUSE_X THEN LEFT =MOUSE_X
- 2040 IF RIGHT<MOUSE_X THEN RIGHT=MOUSE_X
- 2050 RETURN
- 2060 ' --- 点を打つかどうかの処理 ---
- 2070 *TEN
- 2080 TEN=0
- 2090 TEN_X=X*RITU+LEFT
- 2100 TEN_Y=Y*RITU+UP
- 2110 FOR TY=TEN_Y-RITU/2 TO TEN_Y+RITU/2
- 2120 FOR TX=TEN_X-RITU/2 TO TEN_X+RITU/2
- 2130 IF POINT(TX,TY)=-1 THEN TEN=TEN+1
- 2140 NEXT TX
- 2150 NEXT TY
- 2160 RETURN
- 2170 ' --- メインループ終了の判定 ---
- 2180 *LOOP_CHECK
- 2190 IF UP=999 AND DOWN=-999 AND LEFT=999 AND RIGHT =-999 THEN MAIN_LOOP=-1
- 2200 RETURN
-